Methods for Visualizing Unstructured Grid Data¶

Overview¶

Unstructured grids are a powerful tool to store Geoscience data. Unlike traditional, structured grids, unstructured grids have flexible geometries and variable resolution. This makes them incredibly useful for filling in irregularly shaped domains like Earth's oceans, or for achieving high resolutions in localized regions. However, working with unstructured datasets comes with additional challenges. The grids are made up of various shapes with varying sizes, so many datasets store additional information that describes their grid's geometry. Before we can plot our data, we must convert this connectivity information into a format compatible with plotting software. In this notebook, we will discuss and compare various ways in which we can visualize unstructured datasets.

Imports¶

In [1]:
# Recognition of unstructured grids and data handling
import uxarray as ux

# General Plotting
import cartopy.crs as ccrs

# Plotting with HoloViz
import holoviews as hv
import hvplot.pandas
import geoviews.feature as gf

Dataset Overview¶

We will be visualizing data, courtesy of NCAR’s Falko Judt, and were produced as part of the DYAMOND initiative: http://dx.doi.org/10.1186/s40645-019-0304-z.

The global data sets used in this example are from the same experiment, but run at several resolutions from 30km to 3.75km. Due to their size, the higher resolution data sets are only distributed with two variables in them:

  • relhum_200hPa: Relative humidity vertically interpolated to 200 hPa
  • vorticity_200hPa: Relative vorticity vertically interpolated to 200 hPa

The relhum_200hPa is computed on the MPAS ‘primal’ mesh, while the vorticity_200hPa is computed on the MPAS ‘dual’ mesh. Note that data may also be sampled on the edges of the primal mesh. This example does not include/cover edge-centered data.

We will first load the data and grid information through uxarray.open_dataset, which lets us load files directly from the internet without downloading them.

In [2]:
# # Load data files from glade
# file_dir_30km = "/glade/campaign/cisl/vast/clyne/old_glade_p/FalkoJudt/dyamond_1/30km/"
# file_dir_15km = "/glade/campaign/cisl/vast/clyne/old_glade_p/FalkoJudt/dyamond_1/15km/"
# file_dir_7_5km = "/glade/campaign/cisl/vast/clyne/old_glade_p/FalkoJudt/dyamond_1/7.5km/"
# file_dir_3_75km = "/glade/campaign/cisl/vast/clyne/old_glade_p/FalkoJudt/dyamond_1/3.75km/"

# Use the local copies of the above glade files
file_dir_30km = "data/30km/"
file_dir_15km = "data/15km/"
file_dir_7_5km = "data/7.5km/"
file_dir_3_75km = "data/3.75km/"

# Note: The grid in the 3.75km dir does not have grid definition variables such as "verticesOnEdge".
# Since UXarray assumed those varables as required for MPAS-recognition, it can't open 3.75km for now.
# This will be fixed on UXarray soon.

grid_file_30km = "x1.655362.grid.nc"
grid_file_15km = "x1.2621442.grid.nc"
grid_file_7_5km = "x1.10485762.grid.nc" # 7.5km
grid_file_3_75km = "x1.41943042.grid.nc" # 3.75km

data_filename = "diag.2016-08-20_00.00.00.nc"

# Open datasets from files
ds_30km = ux.open_dataset(file_dir_30km + grid_file_30km, file_dir_30km + data_filename)
ds_15km = ux.open_dataset(file_dir_15km + grid_file_15km, file_dir_15km + data_filename)
# ds_7_5km = ux.open_dataset(file_dir_7_5km + grid_file_7_5km, file_dir_7_5km + data_filename)
# ds_3_75km = ux.open_dataset(file_dir_3_75km + grid_file_3_75km, file_dir_3_75km + data_filename)

Below we can see some information about the grid structure of each dataset. These are MPAS datasets, which means they contain a Primal mesh, composed of Voronoi regions, and a dual mesh, composed of Delaunay Triangles.

nMesh2_face and nMesh2_nodedescribe the number of faces and nodes the dataset has, repsectively, which vary with the resolution.

In [3]:
ds_30km
Out[3]:
<xarray.UxDataset>
Dimensions:             (Time: 1, StrLen: 64, nMesh2_face: 655362,
                         nMesh2_node: 1310720)
Dimensions without coordinates: Time, StrLen, nMesh2_face, nMesh2_node
Data variables: (12/90)
    xtime_old           (Time, StrLen) |S1 b'2' b'0' b'1' ... b' ' b' ' b' '
    taux                (Time, nMesh2_face) float32 0.001145 -0.4335 ... 0.1296
    tauy                (Time, nMesh2_face) float32 -0.003664 ... 0.04344
    olrtoa              (Time, nMesh2_face) float32 254.1 282.3 ... 199.6 209.9
    cldcvr              (Time, nMesh2_face) float32 1.0 1.0 1.0 ... 1.0 1.0 1.0
    vert_int_qv         (Time, nMesh2_face) float32 56.71 23.32 ... 7.523 7.568
    ...                  ...
    aclwupt             (Time, nMesh2_face) float32 4.047e+08 ... 3.801e+08
    aclwdnt             (Time, nMesh2_face) float32 0.0 0.0 0.0 ... 0.0 0.0 0.0
    aclwnett            (Time, nMesh2_face) float32 -4.047e+08 ... -3.801e+08
    rainc               (Time, nMesh2_face) float32 58.94 10.82 ... 25.57 28.74
    rainnc              (Time, nMesh2_face) float32 0.003394 0.3716 ... 17.9
    xtime               (Time, StrLen) |S1 b'2' b'0' b'1' ... b' ' b' ' b' '
xarray.UxDataset
    • Time: 1
    • StrLen: 64
    • nMesh2_face: 655362
    • nMesh2_node: 1310720
      • xtime_old
        (Time, StrLen)
        |S1
        b'2' b'0' b'1' ... b' ' b' ' b' '
        units :
        YYYY-MM-DD_hh:mm:ss
        long_name :
        Model valid time
        array([[b'2', b'0', b'1', b'6', b'-', b'0', b'8', b'-', b'2', b'0', b'_',
                b'0', b'0', b':', b'0', b'0', b':', b'0', b'0', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ']],
              dtype='|S1')
      • taux
        (Time, nMesh2_face)
        float32
        0.001145 -0.4335 ... 0.1441 0.1296
        units :
        N m^{-2}
        long_name :
        surface zonal momentum flux
        array([[ 0.00114547, -0.43351182,  0.09139734, ...,  0.1372645 ,
                 0.14407465,  0.12962045]], dtype=float32)
      • tauy
        (Time, nMesh2_face)
        float32
        -0.003664 -0.06971 ... 0.04344
        units :
        N m^{-2}
        long_name :
        surface meridional momentum flux
        array([[-0.00366397, -0.0697118 ,  0.02522493, ...,  0.02053317,
                 0.0304405 ,  0.04344298]], dtype=float32)
      • olrtoa
        (Time, nMesh2_face)
        float32
        254.1 282.3 224.7 ... 199.6 209.9
        units :
        W m^{-2}
        long_name :
        top-of-atmosphere outgoing longwave radiation flux
        array([[254.11461, 282.30667, 224.6828 , ..., 192.38419, 199.64363,
                209.86562]], dtype=float32)
      • cldcvr
        (Time, nMesh2_face)
        float32
        1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0
        units :
        unitless
        long_name :
        cloud cover (max of cldfrac along the vertical)
        array([[1., 1., 1., ..., 1., 1., 1.]], dtype=float32)
      • vert_int_qv
        (Time, nMesh2_face)
        float32
        56.71 23.32 9.332 ... 7.523 7.568
        units :
        kg m^{-2}
        long_name :
        Vertically integrated water vapor mixing ratio
        array([[56.706112 , 23.324837 ,  9.332059 , ...,  7.4286156,  7.522911 ,
                 7.5680594]], dtype=float32)
      • vert_int_qc
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.1434 0.0 ... 0.0 0.0 0.0
        units :
        kg m^{-2}
        long_name :
        Vertically integrated cloud water mixing ratio
        array([[0.        , 0.        , 0.14336425, ..., 0.        , 0.        ,
                0.        ]], dtype=float32)
      • vert_int_qr
        (Time, nMesh2_face)
        float32
        1.143e-08 0.0 0.0002277 ... 0.0 0.0
        units :
        kg m^{-2}
        long_name :
        Vertically integrated rain mixing ratio
        array([[1.1434940e-08, 0.0000000e+00, 2.2773488e-04, ..., 0.0000000e+00,
                0.0000000e+00, 0.0000000e+00]], dtype=float32)
      • vert_int_qs
        (Time, nMesh2_face)
        float32
        0.004999 0.0002095 ... 0.01685
        units :
        kg m^{-2}
        long_name :
        Vertically integrated snow mixing ratio
        array([[0.00499933, 0.00020953, 0.00441246, ..., 0.02781227, 0.02561788,
                0.01684895]], dtype=float32)
      • vert_int_qi
        (Time, nMesh2_face)
        float32
        0.0001439 1.126e-05 ... 0.006398
        units :
        kg m^{-2}
        long_name :
        Vertically integrated ice mixing ratio
        array([[1.4387039e-04, 1.1259543e-05, 9.7388722e-05, ..., 4.4299494e-03,
                4.8254053e-03, 6.3976673e-03]], dtype=float32)
      • vert_int_qg
        (Time, nMesh2_face)
        float32
        0.0 0.0 5.851e-07 ... 0.0 1.298e-06
        units :
        kg m^{-2}
        long_name :
        Vertically integrated graupel mixing ratio
        array([[0.0000000e+00, 0.0000000e+00, 5.8509801e-07, ..., 0.0000000e+00,
                0.0000000e+00, 1.2984239e-06]], dtype=float32)
      • refl10cm_1km
        (Time, nMesh2_face)
        float32
        -35.0 -35.0 ... -18.98 -17.29
        units :
        dBZ
        long_name :
        diagnosed 10 cm radar reflectivity at 1 km AGL
        array([[-35.      , -35.      , -20.647161, ..., -32.28308 , -18.984772,
                -17.289677]], dtype=float32)
      • precipw
        (Time, nMesh2_face)
        float32
        56.08 23.17 9.314 ... 7.51 7.555
        units :
        kg m^{-2}
        long_name :
        precipitable water
        array([[56.080723 , 23.169239 ,  9.314055 , ...,  7.415787 ,  7.5096364,
                 7.554986 ]], dtype=float32)
      • u10
        (Time, nMesh2_face)
        float32
        0.4965 -6.956 6.2 ... 9.153 8.573
        units :
        m s^{-1}
        long_name :
        10-meter zonal wind
        array([[ 0.49653015, -6.9555087 ,  6.2004    , ...,  8.999395  ,
                 9.15287   ,  8.573361  ]], dtype=float32)
      • v10
        (Time, nMesh2_face)
        float32
        -1.522 -1.105 1.701 ... 2.029 2.928
        units :
        m s^{-1}
        long_name :
        10-meter meridional wind
        array([[-1.521664 , -1.1050397,  1.7005051, ...,  1.4440091,  2.0286384,
                 2.9284766]], dtype=float32)
      • q2
        (Time, nMesh2_face)
        float32
        0.01608 0.008136 ... 0.003025
        units :
        kg kg^{-1}
        long_name :
        2-meter specific humidity
        array([[0.01607872, 0.00813565, 0.00306467, ..., 0.00313174, 0.00319018,
                0.00302518]], dtype=float32)
      • t2m
        (Time, nMesh2_face)
        float32
        297.8 303.9 270.6 ... 276.9 277.1
        units :
        K
        long_name :
        2-meter temperature
        array([[297.82828, 303.8572 , 270.6466 , ..., 276.8427 , 276.8573 ,
                277.06647]], dtype=float32)
      • th2m
        (Time, nMesh2_face)
        float32
        296.6 316.3 268.8 ... 277.9 278.1
        units :
        K
        long_name :
        2-meter potential temperature
        array([[296.63528, 316.3213 , 268.76346, ..., 277.89426, 277.86752,
                278.10052]], dtype=float32)
      • mslp
        (Time, nMesh2_face)
        float32
        1.014e+05 1.014e+05 ... 9.87e+04
        units :
        Pa
        long_name :
        Mean sea-level pressure
        array([[101416.61 , 101441.125, 102465.016, ...,  98676.52 ,  98728.305,
                 98699.93 ]], dtype=float32)
      • relhum_200hPa
        (Time, nMesh2_face)
        float32
        111.5 100.5 4.144 ... 3.863 3.993
        units :
        percent
        long_name :
        Relative humidity vertically interpolated to 200 hPa
        array([[111.51762  , 100.50649  ,   4.1442914, ...,   3.9168074,
                  3.862622 ,   3.9930599]], dtype=float32)
      • relhum_250hPa
        (Time, nMesh2_face)
        float32
        105.7 80.97 62.2 ... 5.45 5.322
        units :
        percent
        long_name :
        Relative humidity vertically interpolated to 250 hPa
        array([[105.65305  ,  80.965904 ,  62.201782 , ...,   5.903016 ,
                  5.44999  ,   5.3219247]], dtype=float32)
      • relhum_500hPa
        (Time, nMesh2_face)
        float32
        67.12 11.54 70.81 ... 101.5 113.4
        units :
        percent
        long_name :
        Relative humidity vertically interpolated to 500 hPa
        array([[ 67.119095,  11.544129,  70.80869 , ..., 101.498146, 101.48831 ,
                113.433914]], dtype=float32)
      • relhum_700hPa
        (Time, nMesh2_face)
        float32
        77.76 64.43 78.18 ... 55.47 76.67
        units :
        percent
        long_name :
        Relative humidity vertically interpolated to 700 hPa
        array([[77.75598 , 64.42546 , 78.17692 , ..., 52.589504, 55.470608,
                76.6749  ]], dtype=float32)
      • relhum_850hPa
        (Time, nMesh2_face)
        float32
        91.82 28.27 96.7 ... 83.98 69.13
        units :
        percent
        long_name :
        Relative humidity vertically interpolated to 850 hPa
        array([[91.81577 , 28.266636, 96.69949 , ..., 79.21579 , 83.98115 ,
                69.131584]], dtype=float32)
      • relhum_925hPa
        (Time, nMesh2_face)
        float32
        93.83 25.76 75.05 ... 75.57 69.78
        units :
        percent
        long_name :
        Relative humidity vertically interpolated to 925 hPa
        array([[93.834656, 25.761896, 75.05485 , ..., 75.47779 , 75.57213 ,
                69.78422 ]], dtype=float32)
      • dewpoint_200hPa
        (Time, nMesh2_face)
        float32
        216.6 214.1 195.7 ... 192.7 192.8
        units :
        K
        long_name :
        Dewpoint temperature vertically interpolated to 200 hPa
        array([[216.57387, 214.05501, 195.66808, ..., 192.57056, 192.66844,
                192.83327]], dtype=float32)
      • dewpoint_250hPa
        (Time, nMesh2_face)
        float32
        228.2 225.0 210.1 ... 194.2 193.9
        units :
        K
        long_name :
        Dewpoint temperature vertically interpolated to 250 hPa
        array([[228.21423, 225.04391, 210.0589 , ..., 194.5014 , 194.23865,
                193.9036 ]], dtype=float32)
      • dewpoint_500hPa
        (Time, nMesh2_face)
        float32
        262.2 241.3 238.3 ... 240.3 241.3
        units :
        K
        long_name :
        Dewpoint temperature vertically interpolated to 500 hPa
        array([[262.15756, 241.31258, 238.2546 , ..., 240.43451, 240.30026,
                241.25026]], dtype=float32)
      • dewpoint_700hPa
        (Time, nMesh2_face)
        float32
        278.6 278.2 255.7 ... 250.2 255.2
        units :
        K
        long_name :
        Dewpoint temperature vertically interpolated to 700 hPa
        array([[278.56635, 278.17636, 255.72476, ..., 248.98035, 250.21603,
                255.16904]], dtype=float32)
      • dewpoint_850hPa
        (Time, nMesh2_face)
        float32
        288.0 281.3 264.1 ... 262.4 260.0
        units :
        K
        long_name :
        Dewpoint temperature vertically interpolated to 850 hPa
        array([[288.01334, 281.3232 , 264.12967, ..., 261.77994, 262.41498,
                260.03433]], dtype=float32)
      • dewpoint_925hPa
        (Time, nMesh2_face)
        float32
        291.7 281.6 265.6 ... 267.2 266.4
        units :
        K
        long_name :
        Dewpoint temperature vertically interpolated to 925 hPa
        array([[291.7437 , 281.63046, 265.58228, ..., 267.23355, 267.2082 ,
                266.44247]], dtype=float32)
      • temperature_200hPa
        (Time, nMesh2_face)
        float32
        219.9 218.2 224.2 ... 219.8 219.7
        units :
        K
        long_name :
        Temperature vertically interpolated to 200 hPa
        array([[219.8807 , 218.2457 , 224.18233, ..., 219.52716, 219.75993,
                219.7096 ]], dtype=float32)
      • temperature_250hPa
        (Time, nMesh2_face)
        float32
        231.5 230.8 218.0 ... 219.0 218.8
        units :
        K
        long_name :
        Temperature vertically interpolated to 250 hPa
        array([[231.48409, 230.77783, 217.95166, ..., 218.7492 , 219.03671,
                218.80634]], dtype=float32)
      • temperature_500hPa
        (Time, nMesh2_face)
        float32
        267.9 267.2 244.8 ... 243.2 243.0
        units :
        K
        long_name :
        Temperature vertically interpolated to 500 hPa
        array([[267.9303 , 267.21292, 244.7726 , ..., 243.35786, 243.23369,
                243.04713]], dtype=float32)
      • temperature_700hPa
        (Time, nMesh2_face)
        float32
        282.2 284.6 260.2 ... 258.9 260.1
        units :
        K
        long_name :
        Temperature vertically interpolated to 700 hPa
        array([[282.1776 , 284.55426, 260.23862, ..., 258.32272, 258.90826,
                260.12796]], dtype=float32)
      • temperature_850hPa
        (Time, nMesh2_face)
        float32
        289.3 300.9 265.5 ... 265.6 265.7
        units :
        K
        long_name :
        Temperature vertically interpolated to 850 hPa
        array([[289.30396, 300.86896, 265.53894, ..., 265.6772 , 265.60684,
                265.66498]], dtype=float32)
      • temperature_925hPa
        (Time, nMesh2_face)
        float32
        292.7 302.8 269.8 ... 271.2 271.5
        units :
        K
        long_name :
        Temperature vertically interpolated to 925 hPa
        array([[292.7294 , 302.75693, 269.80103, ..., 271.2532 , 271.21445,
                271.4646 ]], dtype=float32)
      • height_200hPa
        (Time, nMesh2_face)
        float32
        1.245e+04 1.244e+04 ... 1.121e+04
        units :
        m
        long_name :
        Geometric height interpolated to 200 hPa
        array([[12449.14 , 12442.463, 11550.885, ..., 11200.409, 11208.513,
                11213.158]], dtype=float32)
      • height_250hPa
        (Time, nMesh2_face)
        float32
        1.097e+04 1.097e+04 ... 9.781e+03
        units :
        m
        long_name :
        Geometric height interpolated to 250 hPa
        array([[10970.031, 10972.67 , 10112.863, ...,  9768.494,  9774.854,
                 9780.503]], dtype=float32)
      • height_500hPa
        (Time, nMesh2_face)
        float32
        5.885e+03 5.922e+03 ... 5.169e+03
        units :
        m
        long_name :
        Geometric height interpolated to 500 hPa
        array([[5884.766 , 5922.428 , 5460.0786, ..., 5160.786 , 5165.298 ,
                5168.9526]], dtype=float32)
      • height_700hPa
        (Time, nMesh2_face)
        float32
        3.162e+03 3.201e+03 ... 2.674e+03
        units :
        m
        long_name :
        Geometric height interpolated to 700 hPa
        array([[3161.9043, 3201.459 , 2967.2117, ..., 2668.859 , 2673.295 ,
                2673.6404]], dtype=float32)
      • height_850hPa
        (Time, nMesh2_face)
        float32
        1.528e+03 1.53e+03 ... 1.187e+03
        units :
        m
        long_name :
        Geometric height interpolated to 850 hPa
        array([[1528.2195, 1529.9749, 1476.1997, ..., 1184.8995, 1188.9259,
                1186.9248]], dtype=float32)
      • height_925hPa
        (Time, nMesh2_face)
        float32
        802.4 1.336e+03 ... 523.7 521.8
        units :
        m
        long_name :
        Geometric height interpolated to 925 hPa
        array([[ 802.44745, 1336.2085 ,  812.3724 , ...,  519.49347,  523.7233 ,
                 521.7653 ]], dtype=float32)
      • uzonal_200hPa
        (Time, nMesh2_face)
        float32
        12.45 -12.36 7.086 ... 30.49 30.59
        units :
        m s^{-1}
        long_name :
        Reconstructed zonal wind at cell centers, vertically interpolated to 200 hPa
        array([[ 12.449038, -12.363897,   7.085809, ...,  30.424397,  30.491276,
                 30.59205 ]], dtype=float32)
      • uzonal_250hPa
        (Time, nMesh2_face)
        float32
        9.874 -10.84 11.62 ... 27.64 29.12
        units :
        m s^{-1}
        long_name :
        Reconstructed zonal wind at cell centers, vertically interpolated to 250 hPa
        array([[  9.874058, -10.840105,  11.620722, ...,  27.993862,  27.639284,
                 29.120285]], dtype=float32)
      • uzonal_500hPa
        (Time, nMesh2_face)
        float32
        4.175 -8.118 11.18 ... 18.94 17.66
        units :
        m s^{-1}
        long_name :
        Reconstructed zonal wind at cell centers, vertically interpolated to 500 hPa
        array([[ 4.174793, -8.117817, 11.178942, ..., 19.238066, 18.943214,
                17.655544]], dtype=float32)
      • uzonal_700hPa
        (Time, nMesh2_face)
        float32
        1.786 -6.685 7.95 ... 18.17 18.39
        units :
        m s^{-1}
        long_name :
        Reconstructed zonal wind at cell centers, vertically interpolated to 700 hPa
        array([[ 1.7861997, -6.6852965,  7.949763 , ..., 17.751884 , 18.16598  ,
                18.389019 ]], dtype=float32)
      • uzonal_850hPa
        (Time, nMesh2_face)
        float32
        1.732 -8.626 5.373 ... 10.56 9.848
        units :
        m s^{-1}
        long_name :
        Reconstructed zonal wind at cell centers, vertically interpolated to 850 hPa
        array([[ 1.7320414, -8.625604 ,  5.3729334, ..., 10.502777 , 10.560102 ,
                 9.848063 ]], dtype=float32)
      • uzonal_925hPa
        (Time, nMesh2_face)
        float32
        0.9477 -8.014 6.314 ... 10.36 9.658
        units :
        m s^{-1}
        long_name :
        Reconstructed zonal wind at cell centers, vertically interpolated to 925 hPa
        array([[ 0.94769585, -8.013717  ,  6.3144975 , ..., 10.201811  ,
                10.361608  ,  9.658385  ]], dtype=float32)
      • umeridional_200hPa
        (Time, nMesh2_face)
        float32
        -2.144 2.494 ... -12.62 -13.12
        units :
        m s^{-1}
        long_name :
        Reconstructed meridional wind at cell centers, vertically interpolated to 200 hPa
        array([[ -2.1439176,   2.4941902,   5.0052876, ..., -12.7459545,
                -12.623586 , -13.118409 ]], dtype=float32)
      • umeridional_250hPa
        (Time, nMesh2_face)
        float32
        -0.306 3.469 ... -17.66 -19.73
        units :
        m s^{-1}
        long_name :
        Reconstructed meridional wind at cell centers, vertically interpolated to 250 hPa
        array([[ -0.30604118,   3.4694974 ,   5.6083994 , ..., -17.861061  ,
                -17.663942  , -19.729116  ]], dtype=float32)
      • umeridional_500hPa
        (Time, nMesh2_face)
        float32
        -1.73 1.729 4.461 ... -11.61 -14.63
        units :
        m s^{-1}
        long_name :
        Reconstructed meridional wind at cell centers, vertically interpolated to 500 hPa
        array([[ -1.7295737,   1.7292881,   4.460907 , ..., -13.241262 ,
                -11.608113 , -14.63023  ]], dtype=float32)
      • umeridional_700hPa
        (Time, nMesh2_face)
        float32
        -0.6116 0.8283 ... -3.254 -5.167
        units :
        m s^{-1}
        long_name :
        Reconstructed meridional wind at cell centers, vertically interpolated to 700 hPa
        array([[-0.611596 ,  0.82833  ,  3.2955813, ..., -2.6199746, -3.2542045,
                -5.166916 ]], dtype=float32)
      • umeridional_850hPa
        (Time, nMesh2_face)
        float32
        -1.675 -1.274 0.971 ... 2.143 3.005
        units :
        m s^{-1}
        long_name :
        Reconstructed meridional wind at cell centers, vertically interpolated to 850 hPa
        array([[-1.6748937, -1.2737564,  0.9710146, ...,  2.0243337,  2.142733 ,
                 3.004807 ]], dtype=float32)
      • umeridional_925hPa
        (Time, nMesh2_face)
        float32
        -1.237 -1.289 ... 2.122 3.038
        units :
        m s^{-1}
        long_name :
        Reconstructed meridional wind at cell centers, vertically interpolated to 925 hPa
        array([[-1.2367387 , -1.2886629 ,  0.52839667, ...,  1.6917005 ,
                 2.1219463 ,  3.0379426 ]], dtype=float32)
      • w_200hPa
        (Time, nMesh2_face)
        float32
        0.0113 -0.01627 ... 0.005934
        units :
        m s^{-1}
        long_name :
        Vertical velocity vertically interpolated to 200 hPa
        array([[ 0.01130025, -0.01627114, -0.00417983, ...,  0.0076473 ,
                -0.00121839,  0.00593409]], dtype=float32)
      • w_250hPa
        (Time, nMesh2_face)
        float32
        0.009253 0.04473 ... 0.01414
        units :
        m s^{-1}
        long_name :
        Vertical velocity vertically interpolated to 250 hPa
        array([[0.00925266, 0.04472691, 0.00260425, ..., 0.00481733, 0.00840575,
                0.01413722]], dtype=float32)
      • w_500hPa
        (Time, nMesh2_face)
        float32
        0.003855 -0.009543 ... 0.008867
        units :
        m s^{-1}
        long_name :
        Vertical velocity vertically interpolated to 500 hPa
        array([[ 0.00385461, -0.00954302, -0.00585773, ..., -0.00013992,
                 0.01988931,  0.0088674 ]], dtype=float32)
      • w_700hPa
        (Time, nMesh2_face)
        float32
        -0.009995 -0.02619 ... -0.005372
        units :
        m s^{-1}
        long_name :
        Vertical velocity vertically interpolated to 700 hPa
        array([[-0.00999486, -0.02618647, -0.00923791, ...,  0.00466947,
                 0.0074168 , -0.00537181]], dtype=float32)
      • w_850hPa
        (Time, nMesh2_face)
        float32
        0.02339 0.01376 ... 0.01527
        units :
        m s^{-1}
        long_name :
        Vertical velocity vertically interpolated to 850 hPa
        array([[ 0.02338565,  0.01375896,  0.00505794, ..., -0.04250466,
                -0.03404061,  0.01527004]], dtype=float32)
      • w_925hPa
        (Time, nMesh2_face)
        float32
        0.01849 0.02225 ... 0.01587
        units :
        m s^{-1}
        long_name :
        Vertical velocity vertically interpolated to 925 hPa
        array([[ 0.01849167,  0.02224885, -0.00093417, ..., -0.02501736,
                -0.0289073 ,  0.01586532]], dtype=float32)
      • omega_200hPa
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        Pa s^{-1}
        long_name :
        Pressure velocity vertically interpolated to 200 hPa
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • omega_250hPa
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        Pa s^{-1}
        long_name :
        Pressure velocity vertically interpolated to 250 hPa
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • omega_500hPa
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        Pa s^{-1}
        long_name :
        Pressure velocity vertically interpolated to 500 hPa
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • omega_700hPa
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        Pa s^{-1}
        long_name :
        Pressure velocity vertically interpolated to 700 hPa
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • omega_850hPa
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        Pa s^{-1}
        long_name :
        Pressure velocity vertically interpolated to 850 hPa
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • omega_925hPa
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        Pa s^{-1}
        long_name :
        Pressure velocity vertically interpolated to 925 hPa
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • vorticity_200hPa
        (Time, nMesh2_node)
        float32
        -1.318e-05 ... -2.619e-05
        units :
        s^{-1}
        long_name :
        Relative vorticity vertically interpolated to 200 hPa
        array([[-1.3183842e-05, -8.5206711e-06, -2.7462883e-07, ...,
                 1.5885287e-05, -3.1379222e-05, -2.6188914e-05]], dtype=float32)
      • vorticity_250hPa
        (Time, nMesh2_node)
        float32
        -4.258e-06 4.141e-06 ... -8.357e-05
        units :
        s^{-1}
        long_name :
        Relative vorticity vertically interpolated to 250 hPa
        array([[-4.2581423e-06,  4.1411768e-06,  1.7783990e-05, ...,
                 1.5832771e-05, -6.5540909e-05, -8.3569612e-05]], dtype=float32)
      • vorticity_500hPa
        (Time, nMesh2_node)
        float32
        1.383e-06 1.949e-05 ... -8.289e-05
        units :
        s^{-1}
        long_name :
        Relative vorticity vertically interpolated to 500 hPa
        array([[ 1.3829180e-06,  1.9485362e-05,  3.8313730e-05, ...,
                 9.5804271e-06,  1.4733295e-05, -8.2888735e-05]], dtype=float32)
      • vorticity_700hPa
        (Time, nMesh2_node)
        float32
        -3.039e-05 ... -8.511e-05
        units :
        s^{-1}
        long_name :
        Relative vorticity vertically interpolated to 700 hPa
        array([[-3.0390780e-05, -2.8977556e-05, -3.0817544e-05, ...,
                 2.9286619e-05,  1.1925046e-04, -8.5108710e-05]], dtype=float32)
      • vorticity_850hPa
        (Time, nMesh2_node)
        float32
        -2.036e-05 -1.742e-05 ... 3.449e-05
        units :
        s^{-1}
        long_name :
        Relative vorticity vertically interpolated to 850 hPa
        array([[-2.0359845e-05, -1.7417728e-05, -3.2328069e-05, ...,
                -2.2101663e-05, -2.7874828e-04,  3.4489862e-05]], dtype=float32)
      • vorticity_925hPa
        (Time, nMesh2_node)
        float32
        1.677e-05 2.019e-05 ... 4.223e-05
        units :
        s^{-1}
        long_name :
        Relative vorticity vertically interpolated to 925 hPa
        array([[ 1.6768783e-05,  2.0193078e-05,  2.2428852e-05, ...,
                -2.1430844e-07, -5.1101897e-04,  4.2229389e-05]], dtype=float32)
      • cape
        (Time, nMesh2_face)
        float32
        724.5 125.1 1.167 ... 16.71 12.4
        units :
        J kg^{-1}
        long_name :
        Convective available potential energy
        array([[724.4664   , 125.0806   ,   1.1666716, ...,  11.62836  ,
                 16.714476 ,  12.400015 ]], dtype=float32)
      • cin
        (Time, nMesh2_face)
        float32
        0.0 36.95 0.0 ... 0.5734 0.3784
        units :
        J kg^{-1}
        long_name :
        Convective inhibition
        array([[ 0.        , 36.95286   ,  0.        , ...,  0.8855965 ,
                 0.573398  ,  0.37840402]], dtype=float32)
      • acswupb
        (Time, nMesh2_face)
        float32
        3.959e+07 9.037e+07 ... 9.431e+06
        units :
        W m^{-2}
        long_name :
        accumulated all-sky upward surface shortwave radiation flux
        array([[3.9586636e+07, 9.0373392e+07, 1.5894738e+08, ..., 9.2306140e+06,
                9.4220330e+06, 9.4314470e+06]], dtype=float32)
      • acswdnb
        (Time, nMesh2_face)
        float32
        4.948e+08 5.248e+08 ... 1.179e+08
        units :
        W m^{-2}
        long_name :
        accumulated all-sky downward surface shortwave radiation flux
        array([[4.94832544e+08, 5.24762752e+08, 2.26035456e+08, ...,
                1.15382560e+08, 1.17775176e+08, 1.17893352e+08]], dtype=float32)
      • acswnetb
        (Time, nMesh2_face)
        float32
        4.552e+08 4.344e+08 ... 1.085e+08
        units :
        J m^{-2}
        long_name :
        accumulated all-sky net surface shortwave radiation
        array([[4.55245920e+08, 4.34389376e+08, 6.70880800e+07, ...,
                1.06151944e+08, 1.08353144e+08, 1.08461904e+08]], dtype=float32)
      • acswupt
        (Time, nMesh2_face)
        float32
        1.146e+08 1.444e+08 ... 6.178e+07
        units :
        W m^{-2}
        long_name :
        accumulated all-sky upward top-of-atmosphere shortwave radiation flux
        array([[1.1460883e+08, 1.4437066e+08, 3.5325942e+08, ..., 6.2050884e+07,
                6.1969252e+07, 6.1779460e+07]], dtype=float32)
      • acswdnt
        (Time, nMesh2_face)
        float32
        7.312e+08 7.311e+08 ... 2.151e+08
        units :
        W m^{-2}
        long_name :
        accumulated all-sky downward top-of-atmosphere shortwave radiation flux
        array([[7.3117216e+08, 7.3114477e+08, 5.5210477e+08, ..., 2.1249643e+08,
                2.1510595e+08, 2.1512741e+08]], dtype=float32)
      • acswnett
        (Time, nMesh2_face)
        float32
        6.166e+08 5.868e+08 ... 1.533e+08
        units :
        J m^{-2}
        long_name :
        accumulated all-sky net top-of-atmosphere shortwave radiation
        array([[6.1656333e+08, 5.8677414e+08, 1.9884534e+08, ..., 1.5044555e+08,
                1.5313670e+08, 1.5334795e+08]], dtype=float32)
      • aclwupb
        (Time, nMesh2_face)
        float32
        7.485e+08 7.673e+08 ... 5.743e+08
        units :
        W m^{-2}
        long_name :
        accumulated all-sky upward surface longwave radiation flux
        array([[7.4847763e+08, 7.6728422e+08, 5.0171149e+08, ..., 5.7374707e+08,
                5.7204262e+08, 5.7433427e+08]], dtype=float32)
      • aclwdnb
        (Time, nMesh2_face)
        float32
        6.466e+08 6.031e+08 ... 4.444e+08
        units :
        W m^{-2}
        long_name :
        accumulated all-sky downward surface longwave radiation flux
        array([[6.4663110e+08, 6.0306688e+08, 4.7120768e+08, ..., 4.4522947e+08,
                4.4580118e+08, 4.4438707e+08]], dtype=float32)
      • aclwnetb
        (Time, nMesh2_face)
        float32
        -1.018e+08 ... -1.299e+08
        units :
        J m^{-2}
        long_name :
        accumulated all-sky net surface longwave radiation
        array([[-1.0184653e+08, -1.6421734e+08, -3.0503808e+07, ...,
                -1.2851760e+08, -1.2624144e+08, -1.2994720e+08]], dtype=float32)
      • aclwupt
        (Time, nMesh2_face)
        float32
        4.047e+08 4.349e+08 ... 3.801e+08
        units :
        W m^{-2}
        long_name :
        accumulated all-sky upward surface longwave radiation flux
        array([[4.0466342e+08, 4.3487869e+08, 3.5674592e+08, ..., 3.7837216e+08,
                3.7895446e+08, 3.8011120e+08]], dtype=float32)
      • aclwdnt
        (Time, nMesh2_face)
        float32
        0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
        units :
        W m^{-2}
        long_name :
        accumulated clear-sky downward surface longwave radiation flux
        array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
      • aclwnett
        (Time, nMesh2_face)
        float32
        -4.047e+08 ... -3.801e+08
        units :
        J m^{-2}
        long_name :
        accumulated all-sky net top-of-atmosphere longwave radiation
        array([[-4.0466342e+08, -4.3487869e+08, -3.5674592e+08, ...,
                -3.7837216e+08, -3.7895446e+08, -3.8011120e+08]], dtype=float32)
      • rainc
        (Time, nMesh2_face)
        float32
        58.94 10.82 3.905 ... 25.57 28.74
        units :
        mm
        long_name :
        accumulated convective precipitation
        array([[58.93556  , 10.820076 ,  3.9053109, ..., 27.959347 , 25.570925 ,
                28.738863 ]], dtype=float32)
      • rainnc
        (Time, nMesh2_face)
        float32
        0.003394 0.3716 33.62 ... 19.2 17.9
        units :
        mm
        long_name :
        accumulated total grid-scale precipitation
        array([[3.3940198e-03, 3.7158185e-01, 3.3624260e+01, ..., 1.7690672e+01,
                1.9199915e+01, 1.7899815e+01]], dtype=float32)
      • xtime
        (Time, StrLen)
        |S1
        b'2' b'0' b'1' ... b' ' b' ' b' '
        units :
        YYYY-MM-DD_hh:mm:ss
        long_name :
        Model valid time
        cell_methods :
        string1: mean
        array([[b'2', b'0', b'1', b'6', b'-', b'0', b'8', b'-', b'2', b'0', b'_',
                b'0', b'0', b':', b'0', b'0', b':', b'0', b'0', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ']],
              dtype='|S1')
      In [4]:
      ds_30km.uxgrid
      
      Out[4]:
      <uxarray.Grid>
      Original Grid Type: MPAS
      Grid Dimensions:
        * nMesh2_node: 1310720
        * nMesh2_face: 655362
        * nMaxMesh2_face_nodes: 10
        * nMesh2_edge: 1966080
        * Two: 2
        * nMesh2_edge: 1966080
      Grid Coordinate Variables:
        * Mesh2_node_x: (1310720,)
        * Mesh2_node_y: (1310720,)
        * Mesh2_face_x: (655362,)
        * Mesh2_face_y: (655362,)
      Grid Connectivity Variables:
        * Mesh2_face_nodes: (655362, 10)
        * Mesh2_edge_nodes: (1966080, 2)
        * nNodes_per_face: (655362,)
      In [5]:
      ds_15km
      
      Out[5]:
      <xarray.UxDataset>
      Dimensions:             (Time: 1, StrLen: 64, nMesh2_face: 2621442,
                               nMesh2_node: 5242880)
      Dimensions without coordinates: Time, StrLen, nMesh2_face, nMesh2_node
      Data variables: (12/90)
          xtime_old           (Time, StrLen) |S1 b'2' b'0' b'1' ... b' ' b' ' b' '
          taux                (Time, nMesh2_face) float32 0.09107 ... -0.07837
          tauy                (Time, nMesh2_face) float32 -0.1514 0.07818 ... 0.06626
          olrtoa              (Time, nMesh2_face) float32 218.2 286.8 ... 283.6 294.9
          cldcvr              (Time, nMesh2_face) float32 1.0 0.0 1.0 ... 1.0 1.0 0.0
          vert_int_qv         (Time, nMesh2_face) float32 9.354 40.38 ... 27.2 27.46
          ...                  ...
          aclwupt             (Time, nMesh2_face) float32 3.254e+08 ... 4.702e+08
          aclwdnt             (Time, nMesh2_face) float32 0.0 0.0 0.0 ... 0.0 0.0 0.0
          aclwnett            (Time, nMesh2_face) float32 -3.254e+08 ... -4.702e+08
          rainc               (Time, nMesh2_face) float32 17.2 21.09 ... 9.857 9.218
          rainnc              (Time, nMesh2_face) float32 35.07 0.000203 ... 0.0004236
          xtime               (Time, StrLen) |S1 b'2' b'0' b'1' ... b' ' b' ' b' '
      xarray.UxDataset
        • Time: 1
        • StrLen: 64
        • nMesh2_face: 2621442
        • nMesh2_node: 5242880
          • xtime_old
            (Time, StrLen)
            |S1
            b'2' b'0' b'1' ... b' ' b' ' b' '
            units :
            YYYY-MM-DD_hh:mm:ss
            long_name :
            Model valid time
            array([[b'2', b'0', b'1', b'6', b'-', b'0', b'8', b'-', b'2', b'0', b'_',
                    b'0', b'0', b':', b'0', b'0', b':', b'0', b'0', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ']],
                  dtype='|S1')
          • taux
            (Time, nMesh2_face)
            float32
            0.09107 -0.02268 ... -0.07837
            units :
            N m^{-2}
            long_name :
            surface zonal momentum flux
            array([[ 0.09107289, -0.02268129,  0.00530781, ..., -0.07604223,
                    -0.08052574, -0.07837477]], dtype=float32)
          • tauy
            (Time, nMesh2_face)
            float32
            -0.1514 0.07818 ... 0.06067 0.06626
            units :
            N m^{-2}
            long_name :
            surface meridional momentum flux
            array([[-0.15135077,  0.07817708, -0.00050145, ...,  0.05814394,
                     0.06066872,  0.06625789]], dtype=float32)
          • olrtoa
            (Time, nMesh2_face)
            float32
            218.2 286.8 153.4 ... 283.6 294.9
            units :
            W m^{-2}
            long_name :
            top-of-atmosphere outgoing longwave radiation flux
            array([[218.22588, 286.79984, 153.36908, ..., 284.26474, 283.63736,
                    294.93384]], dtype=float32)
          • cldcvr
            (Time, nMesh2_face)
            float32
            1.0 0.0 1.0 0.0 ... 0.0 1.0 1.0 0.0
            units :
            unitless
            long_name :
            cloud cover (max of cldfrac along the vertical)
            array([[1., 0., 1., ..., 1., 1., 0.]], dtype=float32)
          • vert_int_qv
            (Time, nMesh2_face)
            float32
            9.354 40.38 61.39 ... 27.2 27.46
            units :
            kg m^{-2}
            long_name :
            Vertically integrated water vapor mixing ratio
            array([[ 9.354116, 40.37502 , 61.389507, ..., 27.332426, 27.203266,
                    27.456985]], dtype=float32)
          • vert_int_qc
            (Time, nMesh2_face)
            float32
            0.05452 0.0 6.303e-09 ... 0.0 0.0
            units :
            kg m^{-2}
            long_name :
            Vertically integrated cloud water mixing ratio
            array([[5.4522738e-02, 0.0000000e+00, 6.3029049e-09, ..., 1.6023664e-02,
                    0.0000000e+00, 0.0000000e+00]], dtype=float32)
          • vert_int_qr
            (Time, nMesh2_face)
            float32
            8.16e-06 0.0 3.489e-05 ... 0.0 0.0
            units :
            kg m^{-2}
            long_name :
            Vertically integrated rain mixing ratio
            array([[8.1603976e-06, 0.0000000e+00, 3.4885034e-05, ..., 2.4401318e-06,
                    0.0000000e+00, 0.0000000e+00]], dtype=float32)
          • vert_int_qs
            (Time, nMesh2_face)
            float32
            0.002128 0.0 0.05615 ... 0.0 0.0
            units :
            kg m^{-2}
            long_name :
            Vertically integrated snow mixing ratio
            array([[0.00212784, 0.        , 0.05614786, ..., 0.        , 0.        ,
                    0.        ]], dtype=float32)
          • vert_int_qi
            (Time, nMesh2_face)
            float32
            0.0008598 0.0 5.921e-05 ... 0.0 0.0
            units :
            kg m^{-2}
            long_name :
            Vertically integrated ice mixing ratio
            array([[8.5980794e-04, 0.0000000e+00, 5.9213573e-05, ..., 0.0000000e+00,
                    0.0000000e+00, 0.0000000e+00]], dtype=float32)
          • vert_int_qg
            (Time, nMesh2_face)
            float32
            7.59e-06 0.0 0.0 ... 0.0 0.0 0.0
            units :
            kg m^{-2}
            long_name :
            Vertically integrated graupel mixing ratio
            array([[7.590127e-06, 0.000000e+00, 0.000000e+00, ..., 0.000000e+00,
                    0.000000e+00, 0.000000e+00]], dtype=float32)
          • refl10cm_1km
            (Time, nMesh2_face)
            float32
            -35.0 -35.0 -35.0 ... -35.0 -35.0
            units :
            dBZ
            long_name :
            diagnosed 10 cm radar reflectivity at 1 km AGL
            array([[-35.      , -35.      , -35.      , ..., -34.331264, -35.      ,
                    -35.      ]], dtype=float32)
          • precipw
            (Time, nMesh2_face)
            float32
            9.334 39.91 60.68 ... 26.94 27.19
            units :
            kg m^{-2}
            long_name :
            precipitable water
            array([[ 9.334295, 39.90843 , 60.679497, ..., 27.06187 , 26.93911 ,
                    27.188744]], dtype=float32)
          • u10
            (Time, nMesh2_face)
            float32
            5.355 -2.117 ... -6.657 -6.402
            units :
            m s^{-1}
            long_name :
            10-meter zonal wind
            array([[ 5.3553944, -2.1169589,  1.9387099, ..., -6.466536 , -6.657192 ,
                    -6.4021297]], dtype=float32)
          • v10
            (Time, nMesh2_face)
            float32
            -8.885 7.299 -0.1704 ... 4.999 5.42
            units :
            m s^{-1}
            long_name :
            10-meter meridional wind
            array([[-8.885107  ,  7.299426  , -0.17039368, ...,  4.9397607 ,
                     4.999378  ,  5.4198904 ]], dtype=float32)
          • q2
            (Time, nMesh2_face)
            float32
            0.003505 0.01772 ... 0.01456
            units :
            kg kg^{-1}
            long_name :
            2-meter specific humidity
            array([[0.0035047 , 0.01772232, 0.01702267, ..., 0.01443008, 0.01437126,
                    0.01455524]], dtype=float32)
          • t2m
            (Time, nMesh2_face)
            float32
            273.2 300.9 299.2 ... 297.9 297.8
            units :
            K
            long_name :
            2-meter temperature
            array([[273.1525 , 300.8896 , 299.1551 , ..., 297.96323, 297.9154 ,
                    297.7635 ]], dtype=float32)
          • th2m
            (Time, nMesh2_face)
            float32
            275.5 299.9 298.2 ... 296.6 296.4
            units :
            K
            long_name :
            2-meter potential temperature
            array([[275.5032 , 299.86417, 298.196  , ..., 296.61407, 296.56448,
                    296.41174]], dtype=float32)
          • mslp
            (Time, nMesh2_face)
            float32
            9.703e+04 1.012e+05 ... 1.016e+05
            units :
            Pa
            long_name :
            Mean sea-level pressure
            array([[ 97034.73 , 101211.5  , 101136.   , ..., 101605.73 , 101608.555,
                    101610.06 ]], dtype=float32)
          • relhum_200hPa
            (Time, nMesh2_face)
            float32
            5.758 17.74 112.2 ... 24.65 25.34
            units :
            percent
            long_name :
            Relative humidity vertically interpolated to 200 hPa
            array([[  5.757529,  17.735281, 112.17103 , ...,  22.956585,  24.654936,
                     25.341679]], dtype=float32)
          • relhum_250hPa
            (Time, nMesh2_face)
            float32
            9.253 91.98 103.6 ... 22.65 23.66
            units :
            percent
            long_name :
            Relative humidity vertically interpolated to 250 hPa
            array([[  9.252956,  91.97631 , 103.561714, ...,  23.19428 ,  22.651457,
                     23.662964]], dtype=float32)
          • relhum_500hPa
            (Time, nMesh2_face)
            float32
            78.19 2.241 91.97 ... 3.911 3.889
            units :
            percent
            long_name :
            Relative humidity vertically interpolated to 500 hPa
            array([[78.189285 ,  2.241189 , 91.974754 , ...,  4.0754347,  3.9112399,
                     3.8893476]], dtype=float32)
          • relhum_700hPa
            (Time, nMesh2_face)
            float32
            68.69 37.98 82.52 ... 0.8705 2.902
            units :
            percent
            long_name :
            Relative humidity vertically interpolated to 700 hPa
            array([[68.69432   , 37.977657  , 82.518074  , ...,  1.6159315 ,
                     0.87047464,  2.9021566 ]], dtype=float32)
          • relhum_850hPa
            (Time, nMesh2_face)
            float32
            51.33 78.32 89.99 ... 42.08 45.42
            units :
            percent
            long_name :
            Relative humidity vertically interpolated to 850 hPa
            array([[51.326008, 78.321556, 89.99028 , ..., 40.999687, 42.07639 ,
                    45.419888]], dtype=float32)
          • relhum_925hPa
            (Time, nMesh2_face)
            float32
            100.7 86.78 94.83 ... 86.73 86.75
            units :
            percent
            long_name :
            Relative humidity vertically interpolated to 925 hPa
            array([[100.71899,  86.77891,  94.83302, ...,  87.19323,  86.73144,
                     86.75262]], dtype=float32)
          • dewpoint_200hPa
            (Time, nMesh2_face)
            float32
            193.2 204.6 217.8 ... 206.0 206.2
            units :
            K
            long_name :
            Dewpoint temperature vertically interpolated to 200 hPa
            array([[193.18956, 204.57996, 217.75896, ..., 205.4577 , 205.9519 ,
                    206.24727]], dtype=float32)
          • dewpoint_250hPa
            (Time, nMesh2_face)
            float32
            196.5 225.2 230.6 ... 215.5 215.8
            units :
            K
            long_name :
            Dewpoint temperature vertically interpolated to 250 hPa
            array([[196.5068 , 225.24236, 230.60428, ..., 215.7057 , 215.52306,
                    215.82382]], dtype=float32)
          • dewpoint_500hPa
            (Time, nMesh2_face)
            float32
            240.7 227.5 265.9 ... 228.9 229.0
            units :
            K
            long_name :
            Dewpoint temperature vertically interpolated to 500 hPa
            array([[240.67616, 227.5245 , 265.85934, ..., 229.58748, 228.90521,
                    228.98851]], dtype=float32)
          • dewpoint_700hPa
            (Time, nMesh2_face)
            float32
            257.3 268.9 278.7 ... 225.5 240.0
            units :
            K
            long_name :
            Dewpoint temperature vertically interpolated to 700 hPa
            array([[257.25034, 268.92084, 278.6503 , ..., 234.01038, 225.47115,
                    239.98717]], dtype=float32)
          • dewpoint_850hPa
            (Time, nMesh2_face)
            float32
            262.4 286.5 289.1 ... 276.9 277.7
            units :
            K
            long_name :
            Dewpoint temperature vertically interpolated to 850 hPa
            array([[262.40353, 286.47812, 289.1045 , ..., 276.4965 , 276.8628 ,
                    277.66125]], dtype=float32)
          • dewpoint_925hPa
            (Time, nMesh2_face)
            float32
            269.5 292.2 293.4 ... 288.5 288.5
            units :
            K
            long_name :
            Dewpoint temperature vertically interpolated to 925 hPa
            array([[269.50284, 292.2239 , 293.37808, ..., 288.69925, 288.48404,
                    288.54132]], dtype=float32)
          • temperature_200hPa
            (Time, nMesh2_face)
            float32
            217.3 222.8 221.0 ... 220.8 220.9
            units :
            K
            long_name :
            Temperature vertically interpolated to 200 hPa
            array([[217.31244, 222.8323 , 220.95746, ..., 220.87036, 220.83446,
                    220.93842]], dtype=float32)
          • temperature_250hPa
            (Time, nMesh2_face)
            float32
            217.8 229.8 233.9 ... 232.1 232.1
            units :
            K
            long_name :
            Temperature vertically interpolated to 250 hPa
            array([[217.81442, 229.8455 , 233.92712, ..., 232.11552, 232.14261,
                    232.07713]], dtype=float32)
          • temperature_500hPa
            (Time, nMesh2_face)
            float32
            246.1 269.9 267.7 ... 269.0 269.0
            units :
            K
            long_name :
            Temperature vertically interpolated to 500 hPa
            array([[246.12689, 269.9213 , 267.65997, ..., 269.00137, 269.03415,
                    269.04395]], dtype=float32)
          • temperature_700hPa
            (Time, nMesh2_face)
            float32
            263.1 282.4 281.4 ... 283.8 283.8
            units :
            K
            long_name :
            Temperature vertically interpolated to 700 hPa
            array([[263.10107, 282.44745, 281.40134, ..., 283.86935, 283.79913,
                    283.7887 ]], dtype=float32)
          • temperature_850hPa
            (Time, nMesh2_face)
            float32
            271.3 290.2 290.7 ... 289.7 289.5
            units :
            K
            long_name :
            Temperature vertically interpolated to 850 hPa
            array([[271.34824, 290.19016, 290.71756, ..., 289.6103 , 289.65808,
                    289.4545 ]], dtype=float32)
          • temperature_925hPa
            (Time, nMesh2_face)
            float32
            269.9 294.5 294.2 ... 290.7 290.7
            units :
            K
            long_name :
            Temperature vertically interpolated to 925 hPa
            array([[269.8591 , 294.45325, 294.2078 , ..., 290.79834, 290.66235,
                    290.7167 ]], dtype=float32)
          • height_200hPa
            (Time, nMesh2_face)
            float32
            1.114e+04 1.242e+04 ... 1.246e+04
            units :
            m
            long_name :
            Geometric height interpolated to 200 hPa
            array([[11136.892, 12420.816, 12462.289, ..., 12458.886, 12458.979,
                    12458.613]], dtype=float32)
          • height_250hPa
            (Time, nMesh2_face)
            float32
            9.718e+03 1.094e+04 ... 1.098e+04
            units :
            m
            long_name :
            Geometric height interpolated to 250 hPa
            array([[ 9718.426, 10941.359, 10972.28 , ..., 10975.554, 10975.696,
                    10975.274]], dtype=float32)
          • height_500hPa
            (Time, nMesh2_face)
            float32
            5.088e+03 5.865e+03 ... 5.874e+03
            units :
            m
            long_name :
            Geometric height interpolated to 500 hPa
            array([[5088.1455, 5865.0864, 5864.4893, ..., 5873.618 , 5873.3975,
                    5873.7305]], dtype=float32)
          • height_700hPa
            (Time, nMesh2_face)
            float32
            2.574e+03 3.154e+03 ... 3.167e+03
            units :
            m
            long_name :
            Geometric height interpolated to 700 hPa
            array([[2573.514 , 3154.4587, 3149.9065, ..., 3166.6433, 3166.5698,
                    3166.6084]], dtype=float32)
          • height_850hPa
            (Time, nMesh2_face)
            float32
            1.051e+03 1.519e+03 ... 1.534e+03
            units :
            m
            long_name :
            Geometric height interpolated to 850 hPa
            array([[1050.5139, 1518.9799, 1513.0833, ..., 1534.0183, 1534.2096,
                    1534.223 ]], dtype=float32)
          • height_925hPa
            (Time, nMesh2_face)
            float32
            381.8 790.1 782.4 ... 814.4 814.2
            units :
            m
            long_name :
            Geometric height interpolated to 925 hPa
            array([[381.76056, 790.1303 , 782.3563 , ..., 814.29944, 814.4086 ,
                    814.24603]], dtype=float32)
          • uzonal_200hPa
            (Time, nMesh2_face)
            float32
            25.75 -15.87 -17.26 ... 12.25 12.62
            units :
            m s^{-1}
            long_name :
            Reconstructed zonal wind at cell centers, vertically interpolated to 200 hPa
            array([[ 25.746883 , -15.874067 , -17.25593  , ...,  11.7898445,
                     12.251018 ,  12.616464 ]], dtype=float32)
          • uzonal_250hPa
            (Time, nMesh2_face)
            float32
            28.78 -16.13 -18.81 ... 10.04 10.37
            units :
            m s^{-1}
            long_name :
            Reconstructed zonal wind at cell centers, vertically interpolated to 250 hPa
            array([[ 28.783752, -16.129206, -18.809437, ...,   9.844678,  10.038084,
                     10.366241]], dtype=float32)
          • uzonal_500hPa
            (Time, nMesh2_face)
            float32
            22.57 -5.319 ... -15.42 -15.27
            units :
            m s^{-1}
            long_name :
            Reconstructed zonal wind at cell centers, vertically interpolated to 500 hPa
            array([[ 22.56747  ,  -5.3191514,  -2.7708678, ..., -15.066465 ,
                    -15.423023 , -15.270687 ]], dtype=float32)
          • uzonal_700hPa
            (Time, nMesh2_face)
            float32
            15.71 5.731 4.217 ... -3.989 -3.716
            units :
            m s^{-1}
            long_name :
            Reconstructed zonal wind at cell centers, vertically interpolated to 700 hPa
            array([[15.714947 ,  5.7314773,  4.2171054, ..., -3.951339 , -3.9894006,
                    -3.7159019]], dtype=float32)
          • uzonal_850hPa
            (Time, nMesh2_face)
            float32
            12.88 -0.3573 ... -7.688 -7.627
            units :
            m s^{-1}
            long_name :
            Reconstructed zonal wind at cell centers, vertically interpolated to 850 hPa
            array([[12.876768 , -0.3572969,  5.6263466, ..., -7.690863 , -7.6876945,
                    -7.626937 ]], dtype=float32)
          • uzonal_925hPa
            (Time, nMesh2_face)
            float32
            9.744 -2.374 2.841 ... -7.342 -7.88
            units :
            m s^{-1}
            long_name :
            Reconstructed zonal wind at cell centers, vertically interpolated to 925 hPa
            array([[ 9.743681 , -2.374446 ,  2.8405054, ..., -7.4664083, -7.3417954,
                    -7.880323 ]], dtype=float32)
          • umeridional_200hPa
            (Time, nMesh2_face)
            float32
            -18.55 3.749 -19.13 ... 2.323 2.576
            units :
            m s^{-1}
            long_name :
            Reconstructed meridional wind at cell centers, vertically interpolated to 200 hPa
            array([[-18.551695 ,   3.7490363, -19.131817 , ...,   2.2474494,
                      2.322729 ,   2.5761962]], dtype=float32)
          • umeridional_250hPa
            (Time, nMesh2_face)
            float32
            -21.95 -3.206 ... 5.175 5.437
            units :
            m s^{-1}
            long_name :
            Reconstructed meridional wind at cell centers, vertically interpolated to 250 hPa
            array([[-21.950506 ,  -3.2059507, -12.190351 , ...,   5.262173 ,
                      5.174928 ,   5.4366884]], dtype=float32)
          • umeridional_500hPa
            (Time, nMesh2_face)
            float32
            -18.09 3.953 4.659 ... 2.138 2.06
            units :
            m s^{-1}
            long_name :
            Reconstructed meridional wind at cell centers, vertically interpolated to 500 hPa
            array([[-18.08735  ,   3.9533944,   4.6589956, ...,   2.20131  ,
                      2.137555 ,   2.0604727]], dtype=float32)
          • umeridional_700hPa
            (Time, nMesh2_face)
            float32
            -17.47 0.7616 ... 2.645 2.945
            units :
            m s^{-1}
            long_name :
            Reconstructed meridional wind at cell centers, vertically interpolated to 700 hPa
            array([[-17.47148  ,   0.7616302,  -0.1963702, ...,   2.8878987,
                      2.6451693,   2.944931 ]], dtype=float32)
          • umeridional_850hPa
            (Time, nMesh2_face)
            float32
            -12.7 6.25 -2.054 ... 0.2265 0.3876
            units :
            m s^{-1}
            long_name :
            Reconstructed meridional wind at cell centers, vertically interpolated to 850 hPa
            array([[-12.696896  ,   6.250482  ,  -2.0544415 , ...,   0.27764276,
                      0.22645022,   0.38761973]], dtype=float32)
          • umeridional_925hPa
            (Time, nMesh2_face)
            float32
            -11.45 7.907 -0.761 ... 5.546 5.448
            units :
            m s^{-1}
            long_name :
            Reconstructed meridional wind at cell centers, vertically interpolated to 925 hPa
            array([[-11.445627  ,   7.9068885 ,  -0.76099813, ...,   5.776512  ,
                      5.5462832 ,   5.4477744 ]], dtype=float32)
          • w_200hPa
            (Time, nMesh2_face)
            float32
            0.02462 0.004493 ... 0.02507
            units :
            m s^{-1}
            long_name :
            Vertical velocity vertically interpolated to 200 hPa
            array([[0.02461669, 0.00449301, 0.09815092, ..., 0.02526652, 0.03021466,
                    0.02507493]], dtype=float32)
          • w_250hPa
            (Time, nMesh2_face)
            float32
            0.01001 0.03074 ... -0.006879
            units :
            m s^{-1}
            long_name :
            Vertical velocity vertically interpolated to 250 hPa
            array([[ 0.01000875,  0.03074407,  0.00158091, ..., -0.00456244,
                     0.00627807, -0.00687871]], dtype=float32)
          • w_500hPa
            (Time, nMesh2_face)
            float32
            0.03269 0.01497 ... -0.001329
            units :
            m s^{-1}
            long_name :
            Vertical velocity vertically interpolated to 500 hPa
            array([[ 0.03268886,  0.01496971, -0.05499293, ...,  0.00278941,
                    -0.00394798, -0.00132911]], dtype=float32)
          • w_700hPa
            (Time, nMesh2_face)
            float32
            -0.001349 -0.01589 ... -0.00399
            units :
            m s^{-1}
            long_name :
            Vertical velocity vertically interpolated to 700 hPa
            array([[-0.0013491 , -0.01588745, -0.02568237, ..., -0.00839723,
                    -0.00122302, -0.00398951]], dtype=float32)
          • w_850hPa
            (Time, nMesh2_face)
            float32
            -0.01606 -0.01736 ... -0.0159
            units :
            m s^{-1}
            long_name :
            Vertical velocity vertically interpolated to 850 hPa
            array([[-0.01605578, -0.01735972,  0.01112082, ..., -0.02998723,
                    -0.02426951, -0.0159003 ]], dtype=float32)
          • w_925hPa
            (Time, nMesh2_face)
            float32
            -0.02829 -0.01181 ... 0.01307
            units :
            m s^{-1}
            long_name :
            Vertical velocity vertically interpolated to 925 hPa
            array([[-0.02829328, -0.01181392,  0.00933263, ...,  0.00587261,
                     0.00721221,  0.01307481]], dtype=float32)
          • omega_200hPa
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            Pa s^{-1}
            long_name :
            Pressure velocity vertically interpolated to 200 hPa
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • omega_250hPa
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            Pa s^{-1}
            long_name :
            Pressure velocity vertically interpolated to 250 hPa
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • omega_500hPa
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            Pa s^{-1}
            long_name :
            Pressure velocity vertically interpolated to 500 hPa
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • omega_700hPa
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            Pa s^{-1}
            long_name :
            Pressure velocity vertically interpolated to 700 hPa
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • omega_850hPa
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            Pa s^{-1}
            long_name :
            Pressure velocity vertically interpolated to 850 hPa
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • omega_925hPa
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            Pa s^{-1}
            long_name :
            Pressure velocity vertically interpolated to 925 hPa
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • vorticity_200hPa
            (Time, nMesh2_node)
            float32
            -2.073e-05 -2.185e-05 ... 4.775e-05
            units :
            s^{-1}
            long_name :
            Relative vorticity vertically interpolated to 200 hPa
            array([[-2.0734275e-05, -2.1850508e-05, -1.9621393e-05, ...,
                    -5.0270584e-05,  5.0006711e-05,  4.7753241e-05]], dtype=float32)
          • vorticity_250hPa
            (Time, nMesh2_node)
            float32
            -3.185e-06 -2.303e-05 ... 2.016e-05
            units :
            s^{-1}
            long_name :
            Relative vorticity vertically interpolated to 250 hPa
            array([[-3.1851296e-06, -2.3025872e-05, -6.2921565e-05, ...,
                    -9.2928431e-06,  3.2798092e-05,  2.0163650e-05]], dtype=float32)
          • vorticity_500hPa
            (Time, nMesh2_node)
            float32
            5.19e-05 1.874e-05 ... -1.497e-05
            units :
            s^{-1}
            long_name :
            Relative vorticity vertically interpolated to 500 hPa
            array([[ 5.18997658e-05,  1.87437672e-05, -6.54555988e-05, ...,
                     3.16782753e-05,  1.67900616e-05, -1.49722155e-05]], dtype=float32)
          • vorticity_700hPa
            (Time, nMesh2_node)
            float32
            0.0001155 0.0001108 ... -5.861e-06
            units :
            s^{-1}
            long_name :
            Relative vorticity vertically interpolated to 700 hPa
            array([[ 1.1547037e-04,  1.1083105e-04,  8.6897417e-05, ...,
                     2.7451952e-05,  1.9087467e-05, -5.8609448e-06]], dtype=float32)
          • vorticity_850hPa
            (Time, nMesh2_node)
            float32
            3.379e-05 4.505e-05 ... -8.305e-06
            units :
            s^{-1}
            long_name :
            Relative vorticity vertically interpolated to 850 hPa
            array([[ 3.3787121e-05,  4.5051333e-05,  5.2713800e-05, ...,
                     2.9089195e-05,  4.5616431e-05, -8.3048008e-06]], dtype=float32)
          • vorticity_925hPa
            (Time, nMesh2_node)
            float32
            3.198e-05 5.774e-05 ... -4.156e-05
            units :
            s^{-1}
            long_name :
            Relative vorticity vertically interpolated to 925 hPa
            array([[ 3.1984964e-05,  5.7742487e-05,  1.0183418e-04, ...,
                     7.3257156e-06, -1.4081887e-05, -4.1564363e-05]], dtype=float32)
          • cape
            (Time, nMesh2_face)
            float32
            2.355 1.323e+03 ... 16.33 16.21
            units :
            J kg^{-1}
            long_name :
            Convective available potential energy
            array([[   2.355458, 1322.9055  , 1378.326   , ...,   18.580608,
                      16.329285,   16.210995]], dtype=float32)
          • cin
            (Time, nMesh2_face)
            float32
            0.6537 1.049 0.9769 ... 0.0654 0.0
            units :
            J kg^{-1}
            long_name :
            Convective inhibition
            array([[0.65372485, 1.0493747 , 0.97691953, ..., 0.30435428, 0.06540252,
                    0.        ]], dtype=float32)
          • acswupb
            (Time, nMesh2_face)
            float32
            5.729e+06 3.834e+07 ... 3.931e+07
            units :
            W m^{-2}
            long_name :
            accumulated all-sky upward surface shortwave radiation flux
            array([[ 5729450., 38340240., 35926644., ..., 39155832., 39295144.,
                    39314748.]], dtype=float32)
          • acswdnb
            (Time, nMesh2_face)
            float32
            7.162e+07 4.793e+08 ... 4.914e+08
            units :
            W m^{-2}
            long_name :
            accumulated all-sky downward surface shortwave radiation flux
            array([[7.1618168e+07, 4.7925229e+08, 4.4907776e+08, ..., 4.8944781e+08,
                    4.9118214e+08, 4.9143526e+08]], dtype=float32)
          • acswnetb
            (Time, nMesh2_face)
            float32
            6.589e+07 4.409e+08 ... 4.521e+08
            units :
            J m^{-2}
            long_name :
            accumulated all-sky net surface shortwave radiation
            array([[6.5888720e+07, 4.4091206e+08, 4.1315110e+08, ..., 4.5029197e+08,
                    4.5188701e+08, 4.5212051e+08]], dtype=float32)
          • acswupt
            (Time, nMesh2_face)
            float32
            5.746e+07 8.26e+07 ... 7.544e+07
            units :
            W m^{-2}
            long_name :
            accumulated all-sky upward top-of-atmosphere shortwave radiation flux
            array([[5.7460232e+07, 8.2601264e+07, 1.0716360e+08, ..., 7.7397496e+07,
                    7.5906184e+07, 7.5441136e+07]], dtype=float32)
          • acswdnt
            (Time, nMesh2_face)
            float32
            1.51e+08 6.738e+08 ... 6.738e+08
            units :
            W m^{-2}
            long_name :
            accumulated all-sky downward top-of-atmosphere shortwave radiation flux
            array([[1.5101555e+08, 6.7381997e+08, 6.7370227e+08, ..., 6.7446605e+08,
                    6.7410374e+08, 6.7380006e+08]], dtype=float32)
          • acswnett
            (Time, nMesh2_face)
            float32
            9.356e+07 5.912e+08 ... 5.984e+08
            units :
            J m^{-2}
            long_name :
            accumulated all-sky net top-of-atmosphere shortwave radiation
            array([[9.3555320e+07, 5.9121869e+08, 5.6653869e+08, ..., 5.9706854e+08,
                    5.9819757e+08, 5.9835891e+08]], dtype=float32)
          • aclwupb
            (Time, nMesh2_face)
            float32
            5.156e+08 7.66e+08 ... 7.305e+08
            units :
            W m^{-2}
            long_name :
            accumulated all-sky upward surface longwave radiation flux
            array([[5.1555955e+08, 7.6601446e+08, 7.7868147e+08, ..., 7.3140486e+08,
                    7.3091296e+08, 7.3045869e+08]], dtype=float32)
          • aclwdnb
            (Time, nMesh2_face)
            float32
            3.865e+08 6.629e+08 ... 6.224e+08
            units :
            W m^{-2}
            long_name :
            accumulated all-sky downward surface longwave radiation flux
            array([[3.8654109e+08, 6.6292589e+08, 6.7958515e+08, ..., 6.2342278e+08,
                    6.2348602e+08, 6.2237683e+08]], dtype=float32)
          • aclwnetb
            (Time, nMesh2_face)
            float32
            -1.29e+08 -1.031e+08 ... -1.081e+08
            units :
            J m^{-2}
            long_name :
            accumulated all-sky net surface longwave radiation
            array([[-1.2901846e+08, -1.0308858e+08, -9.9096320e+07, ...,
                    -1.0798208e+08, -1.0742694e+08, -1.0808186e+08]], dtype=float32)
          • aclwupt
            (Time, nMesh2_face)
            float32
            3.254e+08 4.506e+08 ... 4.702e+08
            units :
            W m^{-2}
            long_name :
            accumulated all-sky upward surface longwave radiation flux
            array([[3.2541757e+08, 4.5058186e+08, 3.8226765e+08, ..., 4.6979050e+08,
                    4.6973757e+08, 4.7017523e+08]], dtype=float32)
          • aclwdnt
            (Time, nMesh2_face)
            float32
            0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
            units :
            W m^{-2}
            long_name :
            accumulated clear-sky downward surface longwave radiation flux
            array([[0., 0., 0., ..., 0., 0., 0.]], dtype=float32)
          • aclwnett
            (Time, nMesh2_face)
            float32
            -3.254e+08 ... -4.702e+08
            units :
            J m^{-2}
            long_name :
            accumulated all-sky net top-of-atmosphere longwave radiation
            array([[-3.2541757e+08, -4.5058186e+08, -3.8226765e+08, ...,
                    -4.6979050e+08, -4.6973757e+08, -4.7017523e+08]], dtype=float32)
          • rainc
            (Time, nMesh2_face)
            float32
            17.2 21.09 53.65 ... 9.857 9.218
            units :
            mm
            long_name :
            accumulated convective precipitation
            array([[17.203398 , 21.090082 , 53.649094 , ..., 10.4614105,  9.856583 ,
                     9.217612 ]], dtype=float32)
          • rainnc
            (Time, nMesh2_face)
            float32
            35.07 0.000203 ... 0.0004236
            units :
            mm
            long_name :
            accumulated total grid-scale precipitation
            array([[3.5067955e+01, 2.0298606e-04, 2.8139985e-01, ..., 5.1550439e-04,
                    9.7641378e-04, 4.2356295e-04]], dtype=float32)
          • xtime
            (Time, StrLen)
            |S1
            b'2' b'0' b'1' ... b' ' b' ' b' '
            units :
            YYYY-MM-DD_hh:mm:ss
            long_name :
            Model valid time
            cell_methods :
            string1: mean
            array([[b'2', b'0', b'1', b'6', b'-', b'0', b'8', b'-', b'2', b'0', b'_',
                    b'0', b'0', b':', b'0', b'0', b':', b'0', b'0', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ',
                    b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ', b' ']],
                  dtype='|S1')
          In [6]:
          ds_15km.uxgrid
          
          Out[6]:
          <uxarray.Grid>
          Original Grid Type: MPAS
          Grid Dimensions:
            * nMesh2_node: 5242880
            * nMesh2_face: 2621442
            * nMaxMesh2_face_nodes: 10
            * nMesh2_edge: 7864320
            * Two: 2
            * nMesh2_edge: 7864320
          Grid Coordinate Variables:
            * Mesh2_node_x: (5242880,)
            * Mesh2_node_y: (5242880,)
            * Mesh2_face_x: (2621442,)
            * Mesh2_face_y: (2621442,)
          Grid Connectivity Variables:
            * Mesh2_face_nodes: (2621442, 10)
            * Mesh2_edge_nodes: (7864320, 2)
            * nNodes_per_face: (2621442,)
          In [7]:
          # ds_7_5km.uxgrid
          

          Initial Setup¶

          Now that our datasets are loaded in, we will begin exploring Uxarray visualization methods.

          In [8]:
          # Variable names to use
          primal_var_name = 'relhum_200hPa'
          dual_var_name = 'vorticity_200hPa'
          
          color_map = 'coolwarm'
          

          Plotting with HoloViz tools¶

          HoloViz is a set of tools that simplifies Python visualizations by calling plotting libraries such as Datashader in the backend. The next section of the notebook discusses visualizations of unstructured grids using HoloViz tools.

          Creating a vector image can be computationally expensive and will likely take quite some time, especially for larger datasets. Another approach can be to rasterize the data, which converts geometries (points etc.) to a raster image.

          We will only look into the rasterization approaches for high-performance, km-scale data visualizations in this notebook

          Rasterized Points¶

          In [9]:
          hv.extension('bokeh')
          
          No description has been provided for this image No description has been provided for this image

          Primal mesh variable (Relative humidity) - No projection¶

          In [10]:
          %%time
          raster = ds_15km[primal_var_name].sel(Time=0).plot.rasterize()
          # This is actually equivalent to calling as follows since we handle default values for several optional largs
          # raster = ds_15km[primal_var_name].sel(Time=0).plot.rasterize(colorbar=True,
          #                                                              cmap='coolwarm',
          #                                                              width=1000,
          #                                                              height=500,
          #                                                              tools=['hover'],
          #                                                              projection=None,
          #                                                              aggregator='mean',
          #                                                              interpolation='linear',
          #                                                              precompute=True,
          #                                                              dynamic=False,
          #                                                              npartitions=1)
          
          raster.opts(title="relhum_200hPa")
          
          CPU times: user 443 ms, sys: 62 ms, total: 505 ms
          Wall time: 522 ms
          
          Out[10]:

          Primal mesh variable (Relative humidity) - ccrs.Robinson projection¶

          In [11]:
          %%time
          projection = ccrs.Robinson()
          raster = ds_15km[primal_var_name].sel(Time=0).plot.rasterize(projection=projection)
          
          (raster.opts(title="relhum_200hPa - ccrs.Robinson")
           * gf.land.opts(projection=projection, fill_color='forestgreen', alpha=0.3) 
           * gf.coastline.opts(projection=projection, alpha=0.4) 
           * gf.borders.opts(projection=projection, alpha=0.3))
          
          CPU times: user 357 ms, sys: 36.7 ms, total: 394 ms
          Wall time: 387 ms
          
          Out[11]:

          Dual mesh variable (Relative vorticity) - ccrs.Robinson projection¶

          In [12]:
          %%time
          projection = ccrs.Robinson()
          raster = ds_15km[dual_var_name].sel(Time=0).plot.rasterize(projection=projection)
          
          (raster.opts(title="Vorticity_200hPa - ccrs.Robinson")
           * gf.land.opts(projection=projection, fill_color='forestgreen', alpha=0.1) 
           * gf.coastline.opts(projection=projection, alpha=0.4) 
           * gf.borders.opts(projection=projection, alpha=0.3))
          
          CPU times: user 405 ms, sys: 44.7 ms, total: 450 ms
          Wall time: 436 ms
          
          Out[12]:
          In [ ]: